<?php
namespace ImiApp\Module\Member\Service\Base;

use Imi\Model\Model;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Table;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\Entity;

/**
 * 群聊天记录 基类
 * @Entity
 * @Table(name="sc_chat", id={"id"})
 * @DDL("CREATE TABLE `sc_chat` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nickname` varchar(255) DEFAULT NULL COMMENT '昵称',
  `group_name` int(10) DEFAULT NULL COMMENT 'nameid',
  `zu` varchar(30) DEFAULT NULL COMMENT '组',
  `content` varchar(5555) DEFAULT NULL COMMENT '内容',
  `send_time` int(10) DEFAULT NULL COMMENT '发送时间',
  `ip` varchar(255) DEFAULT NULL COMMENT 'IP地址',
  `group` varchar(255) DEFAULT NULL COMMENT '组名',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='群聊天记录'")
 * @property int $id 
 * @property string $nickname 昵称
 * @property int $groupName nameid
 * @property string $zu 组
 * @property string $content 内容
 * @property int $sendTime 发送时间
 * @property string $ip IP地址
 * @property string $group 组名
 */
abstract class ScChatBase extends Model
{
    /**
     * id
     * @Column(name="id", type="int", length=10, accuracy=0, nullable=false, default="", isPrimaryKey=true, primaryKeyIndex=0, isAutoIncrement=true)
     * @var int
     */
    protected $id;

    /**
     * 获取 id
     *
     * @return int
     */ 
    public function getId()
    {
        return $this->id;
    }

    /**
     * 赋值 id
     * @param int $id id
     * @return static
     */ 
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * 昵称
     * nickname
     * @Column(name="nickname", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $nickname;

    /**
     * 获取 nickname - 昵称
     *
     * @return string
     */ 
    public function getNickname()
    {
        return $this->nickname;
    }

    /**
     * 赋值 nickname - 昵称
     * @param string $nickname nickname
     * @return static
     */ 
    public function setNickname($nickname)
    {
        $this->nickname = $nickname;
        return $this;
    }

    /**
     * nameid
     * group_name
     * @Column(name="group_name", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $groupName;

    /**
     * 获取 groupName - nameid
     *
     * @return int
     */ 
    public function getGroupName()
    {
        return $this->groupName;
    }

    /**
     * 赋值 groupName - nameid
     * @param int $groupName group_name
     * @return static
     */ 
    public function setGroupName($groupName)
    {
        $this->groupName = $groupName;
        return $this;
    }

    /**
     * 组
     * zu
     * @Column(name="zu", type="varchar", length=30, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $zu;

    /**
     * 获取 zu - 组
     *
     * @return string
     */ 
    public function getZu()
    {
        return $this->zu;
    }

    /**
     * 赋值 zu - 组
     * @param string $zu zu
     * @return static
     */ 
    public function setZu($zu)
    {
        $this->zu = $zu;
        return $this;
    }

    /**
     * 内容
     * content
     * @Column(name="content", type="varchar", length=5555, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $content;

    /**
     * 获取 content - 内容
     *
     * @return string
     */ 
    public function getContent()
    {
        return $this->content;
    }

    /**
     * 赋值 content - 内容
     * @param string $content content
     * @return static
     */ 
    public function setContent($content)
    {
        $this->content = $content;
        return $this;
    }

    /**
     * 发送时间
     * send_time
     * @Column(name="send_time", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $sendTime;

    /**
     * 获取 sendTime - 发送时间
     *
     * @return int
     */ 
    public function getSendTime()
    {
        return $this->sendTime;
    }

    /**
     * 赋值 sendTime - 发送时间
     * @param int $sendTime send_time
     * @return static
     */ 
    public function setSendTime($sendTime)
    {
        $this->sendTime = $sendTime;
        return $this;
    }

    /**
     * IP地址
     * ip
     * @Column(name="ip", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $ip;

    /**
     * 获取 ip - IP地址
     *
     * @return string
     */ 
    public function getIp()
    {
        return $this->ip;
    }

    /**
     * 赋值 ip - IP地址
     * @param string $ip ip
     * @return static
     */ 
    public function setIp($ip)
    {
        $this->ip = $ip;
        return $this;
    }

    /**
     * 组名
     * group
     * @Column(name="group", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $group;

    /**
     * 获取 group - 组名
     *
     * @return string
     */ 
    public function getGroup()
    {
        return $this->group;
    }

    /**
     * 赋值 group - 组名
     * @param string $group group
     * @return static
     */ 
    public function setGroup($group)
    {
        $this->group = $group;
        return $this;
    }

}
